Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

ВИКОРИСТАННЯ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Паралельні та розподілені обчислення
Група:
КІ-44

Частина тексту файла

Міністерство Освіти і Науки України Національний Університет “Львівська Політехніка” Кафедра ЕОМ  ЗВІТ до лабораторної роботи № 1 з курсу “Паралельні та розподілені обчислення ” Тема: ВИКОРИСТАННЯ ФУНКЦІОНАЛЬНОЇ ДЕКОМПОЗИЦІЇ ДЛЯ РОЗВ’ЯЗКУ ОБЧИСЛЮВАЛЬНИХ ЗАДАЧ. Мета: Вивчити методи декомпозицій задач. Набути навиків розв’язування задач з використанням функціональної декомпозиції. ЗМІСТ ЗВІТУ 1.Тема, мета, аналіз завдання(згідно варіанту). 2. Схема декомпозиції задачі та коментарі до неї. 3. Текст програми та результат її роботи на довільному наборі вхідних даних, для розмірності n>3. 4. Висновки. Аналіз завдання Завдання: Варіант №25  число, Де y1, y2, Y3, b, Cij обчислюються так: y1 = A*b, де bi = 25 - для парних і, bi=25/і3 - для непарних і=1,2,...n y2 = A1 (b1 + c1) Y3 = A2 (С2 +В2 ) , де Cij =25/(i + j)3 Виконання: Дані які вводяться з клавіатури: розмірність матриць – n; матриці A, A1, A2, B2 ; вектори-стовпці b1,c1 . Ці дані треба вводити з клавіатури, або генерувати випадковим чином n –генерувати не треба. Елементи матриць та векторів є цілими додатними числами, більшими за нуль. Вектор-стовпець b та матриця C2 обраховуються, відповідно до розмірності, значення їх елементів завжди менші одиниці і різко зменшуються зі збільшенням розмірності n. Під час обчислення y1 результатом множення матриці А на вектор-стовпець b має бути вектор-стовпець, елементами, якого є дробові числа. Під час обчислення y2 результатом додавання двох вектор-стовпців буде вектор-стовпець. При множенні матриці А1 на результат додавання b1+c1, отримаємо вектор-стовпець. При обчисленні Y3 отримаємо матрицю з дробових чисел. В обчисленні загального виразу приймають участь три різні елементи – два вектори стовпці y1, y2 та матриця Y3. Остаточним результатом є число. Схема декомпозиції задачі  Код програми //matrix.cpp #include "matrix.h" #include <stdio.h> #include <iostream> #include <string.h> #include <assert.h> #include <iomanip> #include <stdlib.h> #include <shlwapi.h> using namespace std; Calculate_Matrix::Calculate_Matrix(const int i,const int j) { x=i; y=j; mas = new double*[x]; for(int k=0;k<=x;k++) { mas[k] = new double[y]; } } void Calculate_Matrix::put(const int i, const int j,const double z) { mas[i][j]=(double )z; } double Calculate_Matrix::get( int i, int j) { return mas[i][j]; } void Calculate_Matrix::madd(const Calculate_Matrix a, const Calculate_Matrix b) { for(int k=0; k<a.x; k++) for(int m=0; m<a.y; m++) mas[k][m] = a.mas[k][m]+b.mas[k][m]; } void Calculate_Matrix::transp(const Calculate_Matrix a) { for(int k=0; k<y; k++) mas[0][k] = a.mas[k][0]; } void Calculate_Matrix::mmul(const Calculate_Matrix a, const Calculate_Matrix b) { Calculate_Matrix(a.x,b.y); for(int i=0; i<a.x; i++) for(int j=0; j<b.y; j++) { double s=0; for(int k=0; k<a.y; k++) s+=a.mas[i][k]*b.mas[k][j]; mas[i][j]=s; } } void Calculate_Matrix::print() { for(int k=0; k<x; k++) { for(int m=0; m<y; m++) cout<<setw(15)<<fixed<<mas[k][m]<<" "; cout<<endl; } cout<<endl;; } bool isNumber(const string str) { unsigned length = str.length(); for (unsigned i=0; i<length; ++i) if(str[i]>'9' || str[i]<'0') return false; return true; } void Calculate_Matrix::input() { int mn; char ch[64]; for(int i=0; i<x; i++) for(int j=0; j<y; j++) { cout<<endl<<"element ["<<i<<"]["<<j<<"]="; cin>>ch; if(isNumber(ch)) { mn = atoi(ch); mas[i][j]=mn; } else { cout << "Vvedit' chyslo"<<endl; cout<<endl<<"element ["<<i<<"]["<<j<<"]="; cin>>ch; mn = atoi(ch); mas[i][j]=mn; } } cout<<endl; } //main.cpp #include <iostream> #include <stdlib.h> #include "matrix.h" #include <stdio.h> #include <math.h> #include <conio.h> #include <ctype.h> using namespace std; int main(int argc, char* argv[]) { int i,j; int n;...
Антиботан аватар за замовчуванням

19.11.2012 18:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини